/*
 * @Author: coman
 * @LastEditors: coman
 * @Date: 2020-06-19 15:00:07
 * @motto: No pain,No gain
 * @LastEditTime: 2020-06-19 21:43:50
 */ 
  // 对Date的扩展，将 Date 转化为指定格式的String 
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符， 
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
// 例子： 
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18 
Date.prototype.Format = function(fmt) 
{ //author: meizz 
var o = { 
    "M+" : this.getMonth()+1,                 //月份 
    "d+" : this.getDate(),                    //日 
    "h+" : this.getHours(),                   //小时 
    "m+" : this.getMinutes(),                 //分 
    "s+" : this.getSeconds(),                 //秒 
    "q+" : Math.floor((this.getMonth()+3)/3), //季度 
    "S"  : this.getMilliseconds()             //毫秒 
}; 
if(/(y+)/.test(fmt)) 
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
for(var k in o) 
    if(new RegExp("("+ k +")").test(fmt)) 
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); 
return fmt; 
}

// 创建一个构造函数
function otime_dif(day, hour, min, sec) {
    this.day = day;
    this.hour = hour;
    this.min = min;
    this.sec = sec;
}
var   = new otime_dif();

 // 时间差,返回一个对象
 function time_dif(date1,date2) {
    // 格林威治时间差
    var time =Math.abs( date1.getTime()-date2.getTime());
    // 天数差
    var day = parseInt(time/1000/60/60/24);
    // 如果天数小于10在前面补充拼接'0'
        // day<10?('0'+day):day
    // 小时差
    var hour =parseInt((time/1000/60/60)%24);
     // 如果小时小于10在前面补充拼接'0'
    // hour = hour<10?('0'+hour):hour
    // 分钟差
    var min = parseInt((time/1000/60)%60);
     // 如果分钟小于10在前面补充拼接'0'
    // min = min<10?('0'+min):min
    // 秒数差
    var second = parseInt((time/1000)%60);
     // 如果小时小于10在前面补充拼接'0'
    //  second = second < 10 ? ('0' + second) : second
    //  console.log(second);
     
     oDate.day = day;
     oDate.hour = hour;
     oDate.min = min;
     oDate.sec = second;
     
     return oDate;
}